﻿/****************************** Module Header ******************************\
 * Module Name:  tUserMember.cs
 * Module Version:  1.0.0 (2013-01-25)
 * Copyright (c) AnyEB.Com (14507247@qq.com)
 * 
 * This source is subject to the GPL License.
 * See http://www.gnu.org/licenses/gpl.html.
 * All other rights reserved.
 * 
 * THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 
 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED 
 * WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
\***************************************************************************/

using System;

namespace UCL.Data.ORM.UMD
{
    /// <summary>
    /// 用户-用户管理-用户 数据实体类
    /// </summary>
    [DBTable(Common = "用户-用户管理-用户")]
    public class tUserMember
    {
        /// <summary>
        /// Guid编号
        /// </summary>
        public Guid ID { get { return _ID ?? default(Guid); } set { _ID = value; } }

        [DBColumn(Alias = "Guid编号", DefaultValue = "newid()")]
        private Guid? _ID;

        #region 登录信息

        /// <summary>
        /// 登录名
        /// </summary>
        public string UserName { get { return _UserName; } set { _UserName = value; } }

        [DBColumn(Alias = "登录名", IsKey = true, Length = "32")]
        private string _UserName;

        /// <summary>
        /// 员工编号
        /// </summary>
        public string EmpNo { get { return _EmpNo; } set { _EmpNo = value; } }

        [DBColumn(Alias = "员工编号", CanBeNull = true, Length = "32")]
        private string _EmpNo;

        /// <summary>
        /// 密码
        /// </summary>
        public string Password { get { return _Password; } set { _Password = value; } }

        [DBColumn(Alias = "密码", Length = "128")]
        private string _Password;

        /// <summary>
        /// 交易密码
        /// </summary>
        public string TradePassword { get { return _TradePassword; } set { _TradePassword = value; } }

        [DBColumn(Alias = "交易密码", CanBeNull = true, Length = "128")]
        private string _TradePassword;
        #endregion

        #region 个人资料

        /// <summary>
        /// 真实姓名
        /// </summary>
        public string Name { get { return _Name; } set { _Name = value; } }

        [DBColumn(Alias = "真实姓名", CanBeNull = true, Length = "32")]
        private string _Name;

        /// <summary>
        /// 身份证号码
        /// </summary>
        public string IdNumber { get { return _IdNumber; } set { _IdNumber = value; } }

        [DBColumn(Alias = "身份证号码", CanBeNull = true, Length = "32")]
        private string _IdNumber;

        /// <summary>
        /// 头像
        /// </summary>
        public string Face { get { return _Face; } set { _Face = value; } }

        [DBColumn(Alias = "头像", CanBeNull = true, Length = "255")]
        private string _Face;

        /// <summary>
        /// 性别 (0=女,1=男,2=保密)
        /// </summary>
        public short Sex { get { return _Sex ?? default(short); } set { _Sex = value; } }

        [DBColumn(Alias = "性别", Common = "0=女,1=男,2=保密", DefaultValue = "0")]
        private short? _Sex;

        /// <summary>
        /// 婚姻状况
        /// </summary>
        public short MaritalStatus { get { return _MaritalStatus ?? default(short); } set { _MaritalStatus = value; } }

        [DBColumn(Alias = "婚姻状况", DefaultValue = "0")]
        private short? _MaritalStatus;

        /// <summary>
        /// 生日
        /// </summary>
        public DateTime Birthday { get { return _Birthday ?? default(DateTime); } set { _Birthday = value; } }

        [DBColumn(Alias = "生日", CanBeNull = true)]
        private DateTime? _Birthday;

        /// <summary>
        /// 民族
        /// </summary>
        public string Nation { get { return _Nation; } set { _Nation = value; } }

        [DBColumn(Alias = "民族", CanBeNull = true, Length = "16")]
        private string _Nation;

        /// <summary>
        /// 教育水平
        /// </summary>
        public string Education { get { return _Education; } set { _Education = value; } }

        [DBColumn(Alias = "教育水平", CanBeNull = true, Length = "16")]
        private string _Education;

        /// <summary>
        /// 政治面貌
        /// </summary>
        public string PoliticalAppearance { get { return _PoliticalAppearance; } set { _PoliticalAppearance = value; } }

        [DBColumn(Alias = "政治面貌", CanBeNull = true, Length = "16")]
        private string _PoliticalAppearance;

        /// <summary>
        /// 业余爱好
        /// </summary>
        public string Hobbies { get { return _Hobbies; } set { _Hobbies = value; } }

        [DBColumn(Alias = "业余爱好", CanBeNull = true, Length = "Max")]
        private string _Hobbies;

        /// <summary>
        /// 特殊技能
        /// </summary>
        public string SpecialSkill { get { return _SpecialSkill; } set { _SpecialSkill = value; } }

        [DBColumn(Alias = "特殊技能", CanBeNull = true, Length = "Max")]
        private string _SpecialSkill;
        #endregion

        #region 个性资料
        /// <summary>
        /// 个人签名
        /// </summary>
        public string PersonalSign { get { return _PersonalSign; } set { _PersonalSign = value; } }

        [DBColumn(Alias = "个人签名", CanBeNull = true, Length = "Max")]
        private string _PersonalSign;

        /// <summary>
        /// 自定义头衔
        /// </summary>
        public string CustomStatus { get { return _CustomStatus; } set { _CustomStatus = value; } }

        [DBColumn(Alias = "自定义头衔", CanBeNull = true, Length = "16")]
        private string _CustomStatus;
        #endregion

        #region 联系方式

        /// <summary>
        /// 手机号码 (多个之间以[,]隔开)
        /// </summary>
        public string MobileNumber { get { return _MobileNumber; } set { _MobileNumber = value; } }

        [DBColumn(Alias = "手机号码", Common = "多个之间以[,]隔开", CanBeNull = true, Length = "255")]
        private string _MobileNumber;

        /// <summary>
        /// 电话号码 (多个之间以[,]隔开)
        /// </summary>
        public string TelphoneNumber { get { return _TelphoneNumber; } set { _TelphoneNumber = value; } }

        [DBColumn(Alias = "电话号码", Common = "多个之间以[,]隔开", CanBeNull = true, Length = "255")]
        private string _TelphoneNumber;

        /// <summary>
        /// 电子邮箱 (多个之间以[,]隔开)
        /// </summary>
        public string Email { get { return _Email; } set { _Email = value; } }

        [DBColumn(Alias = "电子邮箱", Common = "多个之间以[,]隔开", CanBeNull = true, Length = "255")]
        private string _Email;

        /// <summary>
        /// QQ号码
        /// </summary>
        public string QQ { get { return _QQ; } set { _QQ = value; } }

        [DBColumn(Alias = "QQ号码", CanBeNull = true, Length = "32")]
        private string _QQ;

        /// <summary>
        /// MSN帐号
        /// </summary>
        public string MSN { get { return _MSN; } set { _MSN = value; } }

        [DBColumn(Alias = "MSN帐号", CanBeNull = true, Length = "32")]
        private string _MSN;

        /// <summary>
        /// 省份
        /// </summary>
        public string AddressProvince { get { return _AddressProvince; } set { _AddressProvince = value; } }

        [DBColumn(Alias = "省份", CanBeNull = true, Length = "16")]
        private string _AddressProvince;

        /// <summary>
        /// 城市
        /// </summary>
        public string AddressCity { get { return _AddressCity; } set { _AddressCity = value; } }

        [DBColumn(Alias = "城市", CanBeNull = true, Length = "16")]
        private string _AddressCity;

        /// <summary>
        /// 地区
        /// </summary>
        public string AddressArea { get { return _AddressArea; } set { _AddressArea = value; } }

        [DBColumn(Alias = "地区", CanBeNull = true, Length = "16")]
        private string _AddressArea;

        /// <summary>
        /// 街道
        /// </summary>
        public string AddressStreet { get { return _AddressStreet; } set { _AddressStreet = value; } }

        [DBColumn(Alias = "街道", CanBeNull = true, Length = "Max")]
        private string _AddressStreet;

        /// <summary>
        /// 家庭住址
        /// </summary>
        public string HomeAddress { get { return _HomeAddress; } set { _HomeAddress = value; } }

        [DBColumn(Alias = "家庭住址", CanBeNull = true, Length = "Max")]
        private string _HomeAddress;

        /// <summary>
        /// 居住地址
        /// </summary>
        public string CurrentAddress { get { return _CurrentAddress; } set { _CurrentAddress = value; } }

        [DBColumn(Alias = "居住地址", CanBeNull = true, Length = "Max")]
        private string _CurrentAddress;

        /// <summary>
        /// 紧急联系人名字
        /// </summary>
        public string EmergencyContact { get { return _EmergencyContact; } set { _EmergencyContact = value; } }

        [DBColumn(Alias = "紧急联系人名字", CanBeNull = true, Length = "32")]
        private string _EmergencyContact;

        /// <summary>
        /// 紧急联系人电话
        /// </summary>
        public string EmergencyTelphone { get { return _EmergencyTelphone; } set { _EmergencyTelphone = value; } }

        [DBColumn(Alias = "紧急联系人电话", CanBeNull = true, Length = "32")]
        private string _EmergencyTelphone;
        #endregion

        #region 职位信息

        /// <summary>
        /// 职位名称
        /// </summary>
        public string Job { get { return _Job; } set { _Job = value; } }

        [DBColumn(Alias = "职位名称", CanBeNull = true, Length = "16")]
        private string _Job;

        /// <summary>
        /// 基本工资(岗位工资)
        /// </summary>
        public int Wages { get { return _Wages ?? default(int); } set { _Wages = value; } }

        [DBColumn(Alias = "基本工资", Common = "岗位工资", DefaultValue = "0")]
        private int? _Wages;

        /// <summary>
        /// 薪资等级代号
        /// </summary>
        public short PayGradeCode { get { return _PayGradeCode ?? default(short); } set { _PayGradeCode = value; } }

        [DBColumn(Alias = "薪资等级代号", CanBeNull = true)]
        private short? _PayGradeCode;

        /// <summary>
        /// 业绩奖金
        /// </summary>
        public decimal PerformanceBonus { get { return _PerformanceBonus ?? default(decimal); } set { _PerformanceBonus = value; } }

        [DBColumn(Alias = "业绩奖金", CanBeNull = true)]
        private decimal? _PerformanceBonus;

        /// <summary>
        /// 关键业绩指标
        /// </summary>
        public decimal KPI { get { return _KPI ?? default(decimal); } set { _KPI = value; } }

        [DBColumn(Alias = "关键业绩指标", CanBeNull = true)]
        private decimal? _KPI;

        /// <summary>
        /// 入职时间
        /// </summary>
        public DateTime HireDate { get { return _HireDate ?? default(DateTime); } set { _HireDate = value; } }

        [DBColumn(Alias = "入职时间", CanBeNull = true)]
        private DateTime? _HireDate;

        /// <summary>
        /// 离职时间
        /// </summary>
        public DateTime DepartureDate { get { return _DepartureDate ?? default(DateTime); } set { _DepartureDate = value; } }

        [DBColumn(Alias = "离职时间", CanBeNull = true)]
        private DateTime? _DepartureDate;

        /// <summary>
        /// 离职类别 (1=自离,2=辞职,3=辞退)
        /// </summary>
        public short DepartureType { get { return _DepartureType ?? default(short); } set { _DepartureType = value; } }

        [DBColumn(Alias = "离职类别", Common = "1=自离,2=辞职,3=辞退", CanBeNull = true)]
        private short? _DepartureType;

        /// <summary>
        /// 职位状态 (0=试用期,1=正式员工)
        /// </summary>
        public short PositionState { get { return _PositionState ?? default(short); } set { _PositionState = value; } }

        [DBColumn(Alias = "职位状态", Common = "0=试用期,1=正式员工", DefaultValue = "0")]
        private short? _PositionState;

        /// <summary>
        /// 劳动合同状态
        /// </summary>
        public short ContractState { get { return _ContractState ?? default(short); } set { _ContractState = value; } }

        [DBColumn(Alias = "劳动合同状态", DefaultValue = "0")]
        private short? _ContractState;

        /// <summary>
        /// 合同开始时间
        /// </summary>
        public DateTime ContractBegin { get { return _ContractBegin ?? default(DateTime); } set { _ContractBegin = value; } }

        [DBColumn(Alias = "合同开始时间", CanBeNull = true)]
        private DateTime? _ContractBegin;

        /// <summary>
        /// 合同结束时间
        /// </summary>
        public DateTime ContractEnd { get { return _ContractEnd ?? default(DateTime); } set { _ContractEnd = value; } }

        [DBColumn(Alias = "合同结束时间", CanBeNull = true)]
        private DateTime? _ContractEnd;

        /// <summary>
        /// 社保缴交状态
        /// </summary>
        public short SocialSecurityState { get { return _SocialSecurityState ?? default(short); } set { _SocialSecurityState = value; } }

        [DBColumn(Alias = "社保缴交状态", DefaultValue = "0")]
        private short? _SocialSecurityState;

        /// <summary>
        /// 社保开始时间
        /// </summary>
        public DateTime SocialSecurityBegin { get { return _SocialSecurityBegin ?? default(DateTime); } set { _SocialSecurityBegin = value; } }

        [DBColumn(Alias = "社保开始时间", CanBeNull = true)]
        private DateTime? _SocialSecurityBegin;

        /// <summary>
        /// 社保结束时间
        /// </summary>
        public DateTime SocialSecurityEnd { get { return _SocialSecurityEnd ?? default(DateTime); } set { _SocialSecurityEnd = value; } }

        [DBColumn(Alias = "社保结束时间", CanBeNull = true)]
        private DateTime? _SocialSecurityEnd;

        /// <summary>
        /// 备注说明
        /// </summary>
        public string Remark { get { return _Remark; } set { _Remark = value; } }

        [DBColumn(Alias = "备注说明", CanBeNull = true, Length = "Max")]
        private string _Remark;

        /// <summary>
        /// 提成规则代号
        /// </summary>
        public short CommissionCode { get { return _CommissionCode ?? default(short); } set { _CommissionCode = value; } }

        [DBColumn(Alias = "代号", CanBeNull = true)]
        private short? _CommissionCode;
        #endregion

        #region 资金账户信息

        /// <summary>
        /// 开户银行名称
        /// </summary>
        public string BankName { get { return _BankName; } set { _BankName = value; } }

        [DBColumn(Alias = "开户银行名称", CanBeNull = true, Length = "32")]
        private string _BankName;

        /// <summary>
        /// 银行卡卡号
        /// </summary>
        public string BankCardID { get { return _BankCardID; } set { _BankCardID = value; } }

        [DBColumn(Alias = "银行卡卡号", CanBeNull = true, Length = "32")]
        private string _BankCardID;

        /// <summary>
        /// 银行卡持有人名称
        /// </summary>
        public string BankAccountName { get { return _BankAccountName; } set { _BankAccountName = value; } }

        [DBColumn(Alias = "银行卡持有人名称", CanBeNull = true, Length = "32")]
        private string _BankAccountName;

        /// <summary>
        /// 支付宝帐号
        /// </summary>
        public string Alipay { get { return _Alipay; } set { _Alipay = value; } }

        [DBColumn(Alias = "支付宝帐号", CanBeNull = true, Length = "32")]
        private string _Alipay;

        /// <summary>
        /// 淘宝帐号
        /// </summary>
        public string Taobao { get { return _Taobao; } set { _Taobao = value; } }

        [DBColumn(Alias = "淘宝帐号", CanBeNull = true, Length = "32")]
        private string _Taobao;
        #endregion

        #region 业务信息

        /// <summary>
        /// 名额数量
        /// </summary>
        public int QuotaNumber { get { return _QuotaNumber ?? default(int); } set { _QuotaNumber = value; } }

        [DBColumn(Alias = "名额数量", DefaultValue = "0")]
        private int? _QuotaNumber;

        /// <summary>
        /// 是否是代理
        /// </summary>
        public bool IsAgent { get { return _IsAgent ?? default(bool); } set { _IsAgent = value; } }

        [DBColumn(Alias = "是否是代理", DefaultValue = "0")]
        private bool? _IsAgent;

        /// <summary>
        /// 推荐人帐号
        /// </summary>
        public string ReferrerName { get { return _ReferrerName; } set { _ReferrerName = value; } }

        [DBColumn(Alias = "推荐人帐号", CanBeNull = true, Length = "32")]
        private string _ReferrerName;

        /// <summary>
        /// 续费到期时间
        /// </summary>
        public DateTime RenewalExpiresTime { get { return _RenewalExpiresTime ?? default(DateTime); } set { _RenewalExpiresTime = value; } }

        [DBColumn(Alias = "续费到期时间", CanBeNull = true)]
        private DateTime? _RenewalExpiresTime;

        /// <summary>
        /// 激活日期
        /// </summary>
        public DateTime ActiveTime { get { return _ActiveTime ?? default(DateTime); } set { _ActiveTime = value; } }

        [DBColumn(Alias = "激活日期", CanBeNull = true)]
        private DateTime? _ActiveTime;

        /// <summary>
        /// 激活IP
        /// </summary>
        public string ActiveIP { get { return _ActiveIP; } set { _ActiveIP = value; } }

        [DBColumn(Alias = "激活IP", CanBeNull = true, Length = "32")]
        private string _ActiveIP;
        #endregion

        /// <summary>
        /// 注册IP
        /// </summary>
        public string RegistIP { get { return _RegistIP; } set { _RegistIP = value; } }

        [DBColumn(Alias = "注册IP", Length = "16")]
        private string _RegistIP;

        /// <summary>
        /// 登录次数
        /// </summary>
        public int LoginCount { get { return _LoginCount ?? default(int); } set { _LoginCount = value; } }

        [DBColumn(Alias = "登录次数", DefaultValue = "0")]
        private int? _LoginCount;

        /// <summary>
        /// 是否在线
        /// </summary>
        public bool IsOnline { get { return _IsOnline ?? default(bool); } set { _IsOnline = value; } }

        [DBColumn(Alias = "是否在线", DefaultValue = "0")]
        private bool? _IsOnline;

        /// <summary>
        /// 是否是管理员
        /// </summary>
        public bool IsAdmin { get { return _IsAdmin ?? default(bool); } set { _IsAdmin = value; } }

        [DBColumn(Alias = "是否是管理员", DefaultValue = "0")]
        private bool? _IsAdmin;

        /// <summary>
        /// 状态
        /// </summary>
        public short State { get { return _State ?? default(short); } set { _State = value; } }

        [DBColumn(Alias = "状态", DefaultValue = "0")]
        private short? _State;

        /// <summary>
        /// 注册时间
        /// </summary>
        public DateTime CreatedTime { get { return _CreatedTime ?? default(DateTime); } set { _CreatedTime = value; } }

        [DBColumn(Alias = "注册时间", DefaultValue = "getdate()")]
        private DateTime? _CreatedTime;

        /// <summary>
        /// 最后更新时间
        /// </summary>
        public DateTime ModifiedTime { get { return _ModifiedTime ?? default(DateTime); } set { _ModifiedTime = value; } }

        [DBColumn(Alias = "最后更新时间", CanBeNull = true)]
        private DateTime? _ModifiedTime;

        /// <summary>
        /// 是否删除
        /// </summary>
        public bool IsDeleted { get { return _IsDeleted ?? default(bool); } set { _IsDeleted = value; } }

        [DBColumn(Alias = "是否删除", DefaultValue = "0")]
        private bool? _IsDeleted;

        /// <summary>
        /// 网站标签
        /// </summary>
        public string SiteTag { get { return _SiteTag; } set { _SiteTag = value; } }

        [DBColumn(Alias = "网站标签", CanBeNull = true, Length = "16")]
        private string _SiteTag;

    }
}
